Shell 定时清理n天前的文件/目录 - 简书
Shell 定时清理n天前的文件/目录 - 简书
Shell 定时清理n天前的文件/目录
2019.07.23 20:38:44字数 279阅读 2,607
一、 shell脚本:
cd /Users/admin/em/build/
echo "进入目录: "
pwd
find ./ -mtime +60 -type d | xargs -n 5 rm -rf
find查找命令./表示在当前目录下查找-mtime +60表示60天前
+表示时间往左,从当前时间点往更早推,-表示往右,从当前时间点算起往后推移。-type: f 查找文件/ d 查找目录| xargs表示把find命令的结果作为一个输入参数执行后面的命令rm -rf-n 5表示命令在执行的时候一次用的argument个数,分批每次删除5个rm删除命令,-rf强制删除,不再向用户一一确认
二、 设置系统定时器
crontab -l显示crontab文件,列出系统当前所有定时任务crontab -e编辑crontab文件- 按i键进入insert模式(每周六的晚上0点0分执行删除文件脚本):
0 0 * * 6 /Users/admin/Desktop/clearTimer.sh
- {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
- 分别表示 分钟(0-59)、时(0-23)、日(0-31)、月(1-12)、周(0-7,周日可以是0或7)、要执行的脚本路径
- esc键,:wq退出

